gsk: Remove GskRenderNode::parent
authorBenjamin Otte <otte@redhat.com>
Mon, 12 Dec 2016 17:54:49 +0000 (18:54 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 20 Dec 2016 17:01:09 +0000 (18:01 +0100)
... and all related APIs.

docs/reference/gsk/gsk4-sections.txt
gsk/gskglrenderer.c
gsk/gskrendernode.c
gsk/gskrendernode.h
gsk/gskrendernodeprivate.h

index 7d1f88421da9bd837e17d1d14ef6bbaeb592089f..f2fc3c32b9455f82ae8bf2603ba98f700e382ef2 100644 (file)
@@ -28,14 +28,12 @@ gsk_render_node_ref
 gsk_render_node_unref
 GskRenderNodeType
 gsk_render_node_get_node_type
-gsk_render_node_get_parent
 gsk_render_node_get_first_child
 gsk_render_node_get_last_child
 gsk_render_node_get_next_sibling
 gsk_render_node_get_previous_sibling
 gsk_render_node_append_child
 gsk_render_node_get_n_children
-gsk_render_node_contains
 gsk_render_node_set_transform
 gsk_render_node_set_opacity
 GskBlendMode
index 654e5d14579612cf2e69ea94ed73b942c7c2341d..eb0eacda1828688d23c2ed527563cb9f44a76b30 100644 (file)
@@ -405,18 +405,6 @@ gsk_gl_renderer_update_frustum (GskGLRenderer           *self,
 
 #define N_VERTICES      6
 
-static inline int
-node_depth (GskRenderNode *node)
-{
-  int ret = 0;
-  while (node->parent)
-    {
-      ret++;
-      node = node->parent;
-    }
-  return ret;
-}
-
 static void
 render_item (GskGLRenderer *self,
              RenderItem    *item)
@@ -473,8 +461,7 @@ render_item (GskGLRenderer *self,
 
   /* Draw the quad */
   GSK_NOTE2 (OPENGL, TRANSFORMS,
-             g_print ("%*sDrawing item <%s>[%p] (w:%g, h:%g) with opacity: %g blend mode: %d\n",
-                      2 * node_depth (item->node), "",
+             g_print ("Drawing item <%s>[%p] (w:%g, h:%g) with opacity: %g blend mode: %d\n",
                       item->name,
                       item,
                       item->size.width, item->size.height,
@@ -530,8 +517,7 @@ render_item (GskGLRenderer *self,
 
       /* Draw the quad */
       GSK_NOTE2 (OPENGL, TRANSFORMS,
-                 g_print ("%*sDrawing offscreen item <%s>[%p] (w:%g, h:%g) with opacity: %g\n",
-                          2 * node_depth (item->node), "",
+                 g_print ("Drawing offscreen item <%s>[%p] (w:%g, h:%g) with opacity: %g\n",
                           item->name,
                           item,
                           item->size.width, item->size.height,
@@ -778,8 +764,7 @@ gsk_gl_renderer_add_render_item (GskGLRenderer           *self,
                                          vertex_data);
   }
 
-  GSK_NOTE (OPENGL, g_print ("%*sAdding node <%s>[%p] to render items\n",
-                             2 * node_depth (node), "",
+  GSK_NOTE (OPENGL, g_print ("Adding node <%s>[%p] to render items\n",
                              node->name != NULL ? node->name : "unnamed",
                              node));
   g_array_append_val (render_items, item);
index e5d6c2db33690420ed1ab7ebd9f804af8452bf78..41a910102648aef4061b0e1807e6a6673ce306c6 100644 (file)
@@ -174,24 +174,6 @@ gsk_render_node_get_node_type (GskRenderNode *node)
   return node->node_class->node_type;
 }
 
-/**
- * gsk_render_node_get_parent:
- * @node: a #GskRenderNode
- *
- * Returns the parent of the @node.
- *
- * Returns: (transfer none): the parent of the #GskRenderNode
- *
- * Since: 3.90
- */
-GskRenderNode *
-gsk_render_node_get_parent (GskRenderNode *node)
-{
-  g_return_val_if_fail (GSK_IS_RENDER_NODE (node), NULL);
-
-  return node->parent;
-}
-
 /**
  * gsk_render_node_get_first_child:
  * @node: a #GskRenderNode
@@ -281,15 +263,6 @@ gsk_render_node_insert_child_internal (GskRenderNode   *node,
       return;
     }
 
-  if (child->parent != NULL)
-    {
-      g_critical ("The render node of type '%s' already has a parent of type '%s'; "
-                  "render nodes cannot be added to multiple parents.",
-                 G_OBJECT_TYPE_NAME (child),
-                 G_OBJECT_TYPE_NAME (node));
-      return;
-    }
-
   if (!node->is_mutable)
     {
       g_critical ("The render node of type '%s' is immutable.",
@@ -301,7 +274,6 @@ gsk_render_node_insert_child_internal (GskRenderNode   *node,
 
   gsk_render_node_ref (child);
 
-  child->parent = node;
   child->age = 0;
 
   node->n_children += 1;
@@ -422,18 +394,9 @@ gsk_render_node_remove_child (GskRenderNode *node,
   g_return_val_if_fail (GSK_IS_RENDER_NODE (child), node);
   g_return_val_if_fail (node->is_mutable, node);
 
-  if (child->parent != node)
-    {
-      g_critical ("The render node of type '%s' is not a child of the render node of type '%s'",
-                 G_OBJECT_TYPE_NAME (child),
-                 G_OBJECT_TYPE_NAME (node));
-      return node;
-    }
-
   prev_sibling = child->prev_sibling;
   next_sibling = child->next_sibling;
 
-  child->parent = NULL;
   child->prev_sibling = NULL;
   child->next_sibling = NULL;
   child->age = 0;
@@ -573,62 +536,6 @@ gsk_render_node_get_opacity (GskRenderNode *node)
   return node->opacity;
 }
 
-/**
- * gsk_render_node_contains:
- * @node: a #GskRenderNode
- * @descendant: a #GskRenderNode
- *
- * Checks whether @node contains @descendant.
- *
- * Returns: %TRUE if the #GskRenderNode contains the given
- *   descendant
- *
- * Since: 3.90
- */
-gboolean
-gsk_render_node_contains (GskRenderNode *node,
-                         GskRenderNode *descendant)
-{
-  GskRenderNode *tmp;
-
-  g_return_val_if_fail (GSK_IS_RENDER_NODE (node), FALSE);
-  g_return_val_if_fail (GSK_IS_RENDER_NODE (descendant), FALSE);
-
-  for (tmp = descendant; tmp != NULL; tmp = tmp->parent)
-    if (tmp == node)
-      return TRUE;
-
-  return FALSE;
-}
-
-/*< private >
- * gsk_render_node_get_toplevel:
- * @node: a #GskRenderNode
- *
- * Retrieves the top level #GskRenderNode without a parent.
- *
- * Returns: (transfer none): the top level #GskRenderNode
- */
-GskRenderNode *
-gsk_render_node_get_toplevel (GskRenderNode *node)
-{
-  GskRenderNode *parent;
-
-  parent = node->parent;
-  if (parent == NULL)
-    return node;
-
-  while (parent != NULL)
-    {
-      if (parent->parent == NULL)
-        return parent;
-
-      parent = parent->parent;
-    }
-
-  return NULL;
-}
-
 void
 gsk_render_node_set_scaling_filters (GskRenderNode    *node,
                                      GskScalingFilter  min_filter,
index 6e2c49cfb42582d83def86b4fb5cced461865de3..abe6100b2e4fe805b6b2cf10b7a808b1168d2b76 100644 (file)
@@ -57,8 +57,6 @@ cairo_t *               gsk_cairo_node_get_draw_context         (GskRenderNode
 GDK_AVAILABLE_IN_3_90
 GskRenderNode *         gsk_container_node_new                  (void);
 
-GDK_AVAILABLE_IN_3_90
-GskRenderNode *         gsk_render_node_get_parent              (GskRenderNode *node);
 GDK_AVAILABLE_IN_3_90
 GskRenderNode *         gsk_render_node_get_first_child         (GskRenderNode *node);
 GDK_AVAILABLE_IN_3_90
@@ -74,10 +72,6 @@ GskRenderNode *         gsk_render_node_append_child            (GskRenderNode *
 GDK_AVAILABLE_IN_3_90
 guint                   gsk_render_node_get_n_children          (GskRenderNode *node);
 
-GDK_AVAILABLE_IN_3_90
-gboolean                gsk_render_node_contains                (GskRenderNode *node,
-                                                                GskRenderNode *descendant);
-
 GDK_AVAILABLE_IN_3_90
 void                    gsk_render_node_set_transform           (GskRenderNode            *node,
                                                                  const graphene_matrix_t  *transform);
index db8d16f39744a74a5a8459b7344fc100983d4547..ca4a793e461c915ea0ff9fa0a79d8316246591e5 100644 (file)
@@ -75,8 +75,6 @@ GskTexture *gsk_texture_node_get_texture (GskRenderNode *node);
 
 GskBlendMode gsk_render_node_get_blend_mode (GskRenderNode *node);
 
-GskRenderNode *gsk_render_node_get_toplevel (GskRenderNode *node);
-
 G_END_DECLS
 
 #endif /* __GSK_RENDER_NODE_PRIVATE_H__ */